The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for automatically throttling the rate of service provided by a Web application programming interface.
An application programming interface (API) is an interface published by a software service (provider) that is available to other software applications (consumers) to exploit. In response to a call from the consumer, the provider performs a service or returns information. In particular, a Web API is an API that is made available between a provider and a consumer over Web transport technologies, such as Hypertext Transport Protocol (HTTP) or HTTP secure (HTTPS). Numerous technical implementations of APIs are possible. Examples include Simple Object Access Protocol (SOAP) and Representational State Transfer (REST).
APIs offer a way for separately developed software capabilities to integrate, even when the capabilities run on separate machines or even across the network. The use of APIs as the means to assemble a business process from existing parts is now the market's normal expectation. For example, a Web map service API allows another application to request driving time and distance between two endpoints by sending a request to the Web API service and receiving back a packet of information containing the requested information.
An API may be published openly for public consumption, or it may be restricted only to defined consumers by prior contractual arrangement, for example by purchasing a subscription to the service.